iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0
自我挑戰組

IT工作中曾遇到的問題系列 第 17

利用powershell來遠端管理Windwos

  • 分享至 

  • xImage
  •  

一直以來都用RDP連到遠端的Windows Server,再進行相關的操作,因為Linux是可以用SSH來執行指令並寫成Script,突然想到Windows有沒有相關的方式。

結果在網路找到可以用Powershell來連線遠端Windows Server並執行指令,這樣就可以自動化管理Windows Server,於是就到測試機測試看看。

首先以系統管理員的身份執行powershell

檢查兩台Windows是否已啟用winrm(Windows Remote Management)

C:/> get-service winrm

https://ithelp.ithome.com.tw/upload/images/20230923/20156403MigkhqtQPx.png

下列的指令可以啟用與停用winrm

C:/> start-service winrm
C:/> stop-service winrm

用上述的指令確認Windows已啟用winrm之後,在Server端進行快速config來允許Client可以遠端連線

C:/> winrm quickconfig

在Server端以本機來來測試是否可以連線成功

C:/> enter-pssession localhost

如果Server端、Client端都有加入網域,原則上會互相信任。如果沒有加入網域,則需要在Client端把Server(例如:192.168.1.182)加入信任清單

C:/> set-item wsman:\localhost\client\trustedhosts "192.168.1.182"

可執行下列的指令來查詢信任清單

C:/> get-item wsman:\localhost\client\trustedhosts

https://ithelp.ithome.com.tw/upload/images/20230923/20156403KLsCzad2qm.png

在Client端設定登入Server的帳號及密碼,需要用ConvertTo-SecureString將將純文字或加密字串轉換為安全字串
例如username:test01,password:123456,用下列的語法轉成密碼並產生一個帶帳號與密碼的Credential

$s_passwd = ConvertTo-SecureString "123456" -AsPlainText -Force;
$cret = New-Object System.Management.Automation.PSCredential("test01",$s_passwd);

在Client端用enter-pssession來連線到Server

C:/> enter-pssession  -Computer 192.168.1.182 -Credential $cret

連線成功後就可以利用Powsershell指令來操作Server端


上一篇
Oracle forms 12c:更新fmx後無法開啟
下一篇
docker container出現Operation not permitted的錯誤
系列文
IT工作中曾遇到的問題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言